package com.ruoyi.jdsq.mapper;

import java.util.List;
import com.ruoyi.jdsq.domain.JdysJdsq;
import com.ruoyi.jdsq.domain.JdysJdsqFj;
import com.ruoyi.jdsq.domain.JdysJdsqYjry;

/**
 * 鉴定申请Mapper接口
 *
 * @author huacai
 * @date 2024-08-02
 */
public interface JdysJdsqMapper
{
    /**
     * 查询鉴定申请
     *
     * @param jdsqId 鉴定申请主键
     * @return 鉴定申请
     */
    public JdysJdsq selectJdysJdsqByJdsqId(String jdsqId);

    /**
     * 查询鉴定申请列表
     *
     * @param jdysJdsq 鉴定申请
     * @return 鉴定申请集合
     */
    public List<JdysJdsq> selectJdysJdsqList(JdysJdsq jdysJdsq);

    /**
     * 查询附件列表
     * @param jdysJdsqFj
     * @return
     */
    List<JdysJdsqFj> selectJdsqFjList(JdysJdsqFj jdysJdsqFj);

    /**
     * 新增鉴定申请
     *
     * @param jdysJdsq 鉴定申请
     * @return 结果
     */
    public int insertJdysJdsq(JdysJdsq jdysJdsq);

    /**
     * 修改鉴定申请
     *
     * @param jdysJdsq 鉴定申请
     * @return 结果
     */
    public int updateJdysJdsq(JdysJdsq jdysJdsq);

    /**
     * 删除鉴定申请
     *
     * @param jdsqId 鉴定申请主键
     * @return 结果
     */
    public int deleteJdysJdsqByJdsqId(String jdsqId);

    /**
     * 批量删除鉴定申请
     *
     * @param jdsqIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteJdysJdsqByJdsqIds(String[] jdsqIds);

    /**
     * 批量删除鉴定申请附件
     *
     * @param jdsqIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteJdysJdsqFjByJdsqIds(String[] jdsqIds);

    /**
     * 批量新增鉴定申请附件
     *
     * @param jdysJdsqFjList 鉴定申请附件列表
     * @return 结果
     */
    public int batchJdysJdsqFj(List<JdysJdsqFj> jdysJdsqFjList);


    /**
     * 通过鉴定申请主键删除鉴定申请附件信息
     *
     * @param jdsqId 鉴定申请ID
     * @return 结果
     */
    public int deleteJdysJdsqFjByJdsqId(String jdsqId);

    /**
     * 批量删除研究人员名单
     *
     * @param jdsqIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteJdysJdsqYjryByJdsqIds(String[] jdsqIds);

    /**
     * 批量新增研究人员名单
     *
     * @param jdysJdsqYjryList 研究人员名单列表
     * @return 结果
     */
    public int batchJdysJdsqYjry(List<JdysJdsqYjry> jdysJdsqYjryList);


    /**
     * 通过鉴定申请主键删除研究人员名单信息
     *
     * @param jdsqId 鉴定申请ID
     * @return 结果
     */
    public int deleteJdysJdsqYjryByJdsqId(String jdsqId);

    /**
     * 获取鉴定申请与研究人员详细信息
     * @param jdsqId
     * @return
     */
    JdysJdsq selectJdysJdsqYjryByJdsqId(String jdsqId);

    /**
     * 新增附件
     * @param jdysJdsqFj
     * @return
     */
    int insertJdsqFjByJdsqId(JdysJdsqFj jdysJdsqFj);

    /**
     * 批量删除鉴定申请附件
     *
     * @param fjIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteJdysJdsqFjByFjIds(Integer[] fjIds);
}
